package com.sz.admin.datainfo.pojo.po;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 监控文件记录表
 * </p>
 *
 * @author sz-admin
 * @since 2025-09-16
 */
@Data
@Schema(description = "监控文件记录表")
public class MonitorFileRecord implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "记录ID")
    private Long id;

    @Schema(description = "监控ID")
    private Long monitorId;

    @Schema(description = "原始文件路径")
    private String originalPath;

    @Schema(description = "原始文件名")
    private String originalFilename;

    @Schema(description = "新文件名")
    private String newFilename;

    @Schema(description = "存储路径")
    private String storagePath;

    @Schema(description = "文件大小")
    private Long fileSize;

    @Schema(description = "文件类型")
    private String fileType;

    @Schema(description = "OSS对象名")
    private String objectName;

    @Schema(description = "访问URL")
    private String fileUrl;

    @Schema(description = "处理状态（1:成功 0:失败）")
    private String processStatus;

    @Schema(description = "错误信息")
    private String errorMessage;

    @Schema(description = "处理时间")
    private LocalDateTime processTime;

    @Schema(description = "文件MD5")
    private String fileMd5;

    @Schema(description = "文件标签（子目录名）")
    private String fileTag;

    @Schema(description = "关联的sys_file表ID")
    private Long sfId;

    @Schema(description = "识别出的车牌号码")
    private String carNumber;

    @Schema(description = "OCR识别结果JSON")
    private String carNumberRes;

    @Schema(description = "关联的司机ID")
    private Long driverId;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "删除标识")
    private String delFlag;

    @Schema(description = "备注")
    private String remark;
}